#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
//char* my_strncpy(char*x,char*y,int z)
//{
//	char* ret = x;
//	int len = strlen(y);
//		if (len >= z)
//		{
//			while (z)
//			{
//				*x++ = *y++;
//				z--;
//			}
//		}
//		if (len < z)
//		{
//			while (*x++=*y++)
//			{
//				;
//			}
//			int m = z - len-1;
//			while (m)
//			{
//				*x = '\0';
//				x++;
//				m--;
//			}
//		}
//	return ret;
//}
//char* my_strncat(char* dest, char* src, int num)
//{
//	int len = strlen(src);
//	while (*dest)
//	{
//		dest++;
//	}
//	if (len > num)
//	{
//		while (num)
//		{
//			*dest++ = *src++;
//			num--;
//		}
//		*dest = '\0';
//	}
//	else
//	{
//		while (* dest++ = *src++)
//		{
//			;
//		}
//
//	}
//}
//void* my_memcpy(void* dest, void* src, size_t num)
//{
//	(char*)dest;
//	(char*)src;
//	void* ret = dest;
//	while (num )
//	{
//		*(char*)dest = *(char*)src;
//		dest = (char*)dest +1;
//		src= (char*)src + 1;
//		num--;
//	}
//	return ret;
//}

void my_memmove(void* dest, void* src,size_t num)
{
	void* ret = dest;
	if (dest < src)
	{
		while (num--)
		{
			*(char*)dest = *(char*)src;
			dest = (char*)dest + 1;
			src = (char*)src + 1;
		}
	}
	else
	{
		src = (char*)src + num - 1;
		dest = (char*)dest + num - 1;
		while (num--)
		{
			*(char*)dest = *(char*)src;
			src = (char*)src - 1;
			dest = (char*)dest - 1;
		}
	}
	return ret;
}


int main()
{
	int arr1[44] = { 1,2,3,4,5,56, };
	int arr2[33] = { 1,2,3,4,666 };
    int n= memcmp(arr1, arr2,17);
		printf("%d", n);
	
}